/**
* Copyright (C) 2013-2015
*
* @file   S_2_Lock_doGet.c
*
* @remark
*
*/

#include "S_2_Lock_doGet.h"
#include "iid.h"

#include "app_main.h"
//#include "lock_operation.h"

/**
 * 格式: property_value_new_boolean(1 或 0)　
 * 取值: 1 或　0
 */
static void P_2_7_Anti_Lock_doGet(property_operation_t *o)
{
    o->value = property_value_new_boolean(1);//xiaomi_lock.s_anti_lock); // TODO: 这里需要读到属性真正的值
}

/**
 * 格式: property_value_new_boolean(1 或 0)　
 * 取值: 1 或　0
 */
static void P_2_8_Child_Lock_doGet(property_operation_t *o)
{
    o->value = property_value_new_boolean(1);//xiaomi_lock.s_child_lock); // TODO: 这里需要读到属性真正的值
}

/**
 * 格式: property_value_new_uchar(整数)　
 * 取值: 最小值: 1, 最大值: 256, 步长: 1
 */
static void P_2_9_Button_Function_doGet(property_operation_t *o)
{
    o->value = property_value_new_uchar(1);//xiaomi_lock.s_button_func); // TODO: 这里需要读到属性真正的值
}

/**
 * 格式: property_value_new_boolean(1 或 0)　
 * 取值: 1 或　0
 */
static void P_2_10_Away_Home_Mode_doGet(property_operation_t *o)
{
    o->value = property_value_new_boolean(1);//xiaomi_lock.s_awayhome_mode); // TODO: 这里需要读到属性真正的值
}

/**
 * 格式: property_value_new_boolean(1 或 0)　
 * 取值: 1 或　0
 */
static void P_2_11_Two_Step_Verification_doGet(property_operation_t *o)
{
    o->value = property_value_new_boolean(1);//xiaomi_lock.s_twostep_verify); // TODO: 这里需要读到属性真正的值
}

/**
 * 格式: property_value_new_boolean(1 或 0)　
 * 取值: 1 或　0
 */
static void P_2_12_Door_Lock_Local_Settings_doGet(property_operation_t *o)
{
    o->value = property_value_new_boolean(1);//xiaomi_lock.s_local_settings); // TODO: 这里需要读到属性真正的值
}

/**
 * 格式: property_value_new_uchar
 * 取值: 0~2
 */
static void P_2_13_Face_Unlock_Sensitivity_doGet(property_operation_t *o)
{
    o->value = property_value_new_uchar(1);//xiaomi_lock.s_face_sensitivity); // TODO: 这里需要读到属性真正的值
}

/**
 * 格式: property_value_new_uchar
 * 取值: 0~4
 */
static void P_2_14_Face_Unlock_Sleep_Time_doGet(property_operation_t *o)
{
    o->value = property_value_new_uchar(1);//xiaomi_lock.s_face_sleep_time); // TODO: 这里需要读到属性真正的值
}

void S_2_Lock_doGet(property_operation_t *o)
{
    switch (o->piid)
    {
        case IID_2_7_Anti_Lock:
            P_2_7_Anti_Lock_doGet(o);
            break;

        case IID_2_8_Child_Lock:
            P_2_8_Child_Lock_doGet(o);
            break;

        case IID_2_9_Button_Function:
            P_2_9_Button_Function_doGet(o);
            break;
        
        case IID_2_10_Away_Home_Mode:
            P_2_10_Away_Home_Mode_doGet(o);
            break;
        
        case IID_2_11_Two_Step_Verification:
            P_2_11_Two_Step_Verification_doGet(o);
            break;
        
        case IID_2_12_Door_Lock_Local_Settings:
            P_2_12_Door_Lock_Local_Settings_doGet(o);
            break;
        
        case IID_2_13_Face_Unlock_Sensitivity:
            P_2_13_Face_Unlock_Sensitivity_doGet(o);
            break;
        
        case IID_2_14_Face_Unlock_Sleep_Time:
            P_2_14_Face_Unlock_Sleep_Time_doGet(o);
            break;

        default:
            o->code = OPERATION_ERROR_CANNOT_READ;
            break;
    }
}
